﻿using System;

namespace PropertyExpression.TypedSqlBuilder.Test
{
    public class SalesOrderHeaderProjection
    {
        public DateTime OrderDate { get; set; }
        public string ContactFirstName { get; set; }
        public string ProductName { get; set; }
    }

    public static class SalesOrderHeaderProjectionExtensions
    {
        public static ISelect<SalesOrderHeaderProjection> ContactFirstName(
            this ISelect<SalesOrderHeaderProjection> it, IValue<string> value)
        {
            return it._(_ => _.ContactFirstName)(value);
        }
        public static ISelect<SalesOrderHeaderProjection> ProductName(
            this ISelect<SalesOrderHeaderProjection> it, IValue<string> value)
        {
            return it._(_ => _.ProductName)(value);
        }
        public static ISelect<SalesOrderHeaderProjection> OrderDate(
            this ISelect<SalesOrderHeaderProjection> it, IValue<DateTime> value)
        {
            return it._(_ => _.OrderDate)(value);
        }
    }
}
